﻿Imports Entities
Imports Business
Imports DataAccess
Public Class MantencionGarantias
    Private _Garantia As New GARANTIAS
    Private _GarantiasList As New List(Of garantias)

    Private Sub MantencionGarantias_Activated(sender As Object, e As EventArgs) Handles Me.Activated
        Titulo()
    End Sub
    
#Region "Métodos Privados"
    Private Sub cargarGarantia()

        If IsNothing(_Garantia) Then
            bGuardar.Text = "Guardar"
        Else
            With _Garantia
                xCapacidad.Text = .CAPACIDAD
                xDescripcion.Text = .DESCRIPCION
                xStock.Text = .STOCK

            End With

            xStock.Focus()
            bGuardar.Text = "Modificar"
        End If
    End Sub
    Private Sub Titulo()
        _GarantiasList = GarantiaBL.List


        gGrillaMantencion.DataSource = _GarantiasList

        gGrillaMantencion.Font = New Drawing.Font("Tahoma", Util.GridFont, FontStyle.Regular, GraphicsUnit.Point)
        gGrillaMantencion.Columns("GARANTIA").Visible = False

        gGrillaMantencion.Columns("ACTIVO").Visible = False

        gGrillaMantencion.Columns("CAPACIDAD").HeaderText = "Capacidad"
        gGrillaMantencion.Columns("DESCRIPCION").HeaderText = "Descripción"
        gGrillaMantencion.Columns("STOCK").HeaderText = "Stock"
        gGrillaMantencion.Columns("PRECIOVENTA").HeaderText = "Precio Ultima Venta"

        gGrillaMantencion.Columns("PRECIOVENTA").DefaultCellStyle.Format = "$ ###,##0"

        For Each col As DataGridViewColumn In gGrillaMantencion.Columns
            col.AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
        Next
        'gGrillaMantencion.Columns("CAPACIDAD").Width = 60
        'gGrillaMantencion.Columns("DESCRIPCION").Width = 200
        'gGrillaMantencion.Columns("STOCK").Width = 50

        gGrillaMantencion.Columns("DESCRIPCION").DisplayIndex = 1
        gGrillaMantencion.Columns("CAPACIDAD").DisplayIndex = 2
        gGrillaMantencion.Columns("STOCK").DisplayIndex = 3

    End Sub
    Private Sub Limpiar()
        xCapacidad.Clear()
        xDescripcion.Clear()
        xStock.Clear()
        xCapacidad.Focus()

        _Garantia = Nothing
        bGuardar.Text = "Guardar"
    End Sub
#End Region

#Region "Eventos Click"
    Private Sub bGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bGuardar.Click

        If xCapacidad.Text = "" Then
            Util.Mensaje("Debe Ingresar la Capacidad (en kilogramos) de la Garantía")
            xCapacidad.Focus()
        ElseIf xDescripcion.Text = "" Then
            Util.Mensaje("Debe Ingresar la Descripcion de la Garantía")
            xDescripcion.Focus()
            'ElseIf xStock.Text = "" Then
            '    Util.Mensaje("Debe Ingresar El Stock Actual de La Garantía")
            '    xStock.Focus()
        Else
            Dim garantia As New garantias
            With garantia
                If Not IsNothing(_Garantia) AndAlso _Garantia.GARANTIA > 0 Then .GARANTIA = _Garantia.GARANTIA
                .CAPACIDAD = Val(xCapacidad.Text.Trim)
                .DESCRIPCION = xDescripcion.Text
                .STOCK = Val(xStock.Text)

                .ACTIVO = True
            End With
            If (GarantiaBL.Save(garantia)) Then
                Util.Mensaje("Garantía Guardada Correctamente")
                Titulo()
                Limpiar()
            Else
                Util.Mensaje("Error al Guardar Garantía")
            End If
        End If
        
    End Sub

    Private Sub bLimpiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bLimpiar.Click

        Limpiar()

    End Sub

    Private Sub bCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bCancelar.Click
        Dispose()
    End Sub
#End Region
   

    Private Sub tCapacidad_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xCapacidad.KeyPress
        'PARA QUE EL TNUMEROFACTURA SEA SOLO NUMEROS
        If Char.IsDigit(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

    Private Sub tStock_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xStock.KeyPress
        'PARA QUE EL TNUMEROFACTURA SEA SOLO NUMEROS
        If Char.IsDigit(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub

   

    Private Sub gGarantias_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles gGrillaMantencion.DoubleClick
        If gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow) >= 0 Then
            _Garantia = GarantiaBL.SearchById(gGrillaMantencion.Item("GARANTIA", gGrillaMantencion.Rows.IndexOf(gGrillaMantencion.CurrentRow)).Value)
            cargarGarantia()
        End If
    End Sub

    
   
    Private Sub xDescripcion_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles xDescripcion.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Util.Siguiente()
        End If
    End Sub
End Class